home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 2 of 2).iso / cheats / lvlinfo / switch.h < prev    next >
Text File  |  1995-03-16  |  2KB  |  42 lines

  1. #define    MAX_WALLS_PER_LINK        10
  2.  
  3. #define    TRIGGER_DEFAULT            2*F1_0
  4.  
  5. #define    MAX_TRIGGERS                100
  6. #define    MAX_WALL_SWITCHES            50
  7. #define    MAX_WALL_LINKS                100
  8.  
  9. // Trigger flags      
  10. #define    TRIGGER_CONTROL_DOORS        1    // Control Trigger
  11. #define    TRIGGER_SHIELD_DAMAGE        2    // Shield Damage Trigger
  12. #define    TRIGGER_ENERGY_DRAIN           4    // Energy Drain Trigger
  13. #define    TRIGGER_EXIT                    8    // End of level Trigger
  14. #define    TRIGGER_ON                      16    // Whether Trigger is active
  15. #define    TRIGGER_ONE_SHOT              32    // If Trigger can only be triggered once
  16. #define    TRIGGER_MATCEN                  64    // Trigger for materialization centers
  17. #define    TRIGGER_ILLUSION_OFF         128    // Switch Illusion OFF trigger
  18. #define    TRIGGER_ILLUSION_ON         512    // Switch Illusion ON trigger
  19. #define    TRIGGER_SECRET_EXIT         256    // Exit to secret level
  20.  
  21. // Trigger delay times before they can be retriggered (Recharge time)
  22. #define    TRIGGER_DELAY_DOOR        F1_0*1    // 1 second for doors
  23. #define    TRIGGER_DELAY_ZAPS        F1_0/10    // 1/10 second for quickie stuff
  24.  
  25. // New unimplemented trigger ideas 
  26. #define    TRIGGER_CONTROL_ROBOTS      64    // If Trigger is a Door control trigger (Linked)
  27. #define    CONTROL_ROBOTS                    8    // If Trigger modifies robot behavior
  28. #define    CONTROL_LIGHTS_ON              16    // If Trigger turns on lights in a certain area
  29. #define    CONTROL_LIGHTS_OFF          32    // If Trigger turns off lights in a certain area
  30.  
  31. typedef struct trigger {
  32.     byte        type;
  33.     short        flags;
  34.     fix        value;
  35.     fix        time;
  36.     byte        link_num;
  37.     short     num_links;
  38.     short     seg[MAX_WALLS_PER_LINK];
  39.     short        side[MAX_WALLS_PER_LINK];
  40. } trigger;
  41.  
  42.